﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using System.Xml;

namespace GameVLTK
{
    public class SkillB : Skill
    {
      
        /// <summary>
        /// Khởi tạo thông tin của vật phẩm
        /// </summary>
        public SkillB(ContentManager content, string path, int nTextures)
            : base(content, path, nTextures)
        {
          
            Texture2D[] textures;
            textures = new Texture2D[nTextures];

            int[] framSeq = new int[nTextures];
            for (int i = 0; i < nTextures; i++)
            {
                textures[i] = content.Load<Texture2D>(path + (i + 1).ToString("00"));
                framSeq[i] = i;
            }

            //Mỗi obj sẽ có một sprite gồm dãy các hình
            this.Sprites = new List<MySprite>();
            this.nSprites = 1;
            this.Size = new Vector2(textures[0].Width, textures[0].Height);

            //Khởi tạo sprite cho obj
            MySprite mySprite = new MySprite(textures, new Vector2(0, 0));
            mySprite.FrameSequence = framSeq;

            this.Sprites.Add(mySprite);
        }

       
        public override void Update(GameTime gameTime)
        {
            if (this.IsSkillActive)
            {
                int count = this.Sprites[0].iTexture;
                if (count != this.nTextures - 1)
                    base.Update(gameTime);
                else
                {
                    this.IsSkillActive = false;
                    this.Sprites[0].iTexture = 0;
                }

            }
        }
      
        /// <summary>
        /// 
        /// </summary>
        public override Skill  Clone()
        {

            Skill skill = new SkillB(this.Content,
                                            this.Path,
                                            this.nTextures);
            return skill;
        }
    }
}
